/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.akro.utl;

/**
 *
 * @author Jose Carlos Palma
 * @version v1.0
 */
public class Property {

    private String[] value;

    /**
     * Crea un objeto de Property.
     * @param text
     */
    public Property(String text) {
        this.value = text.split("[,]+");
        for (int i = 0; i < this.value.length; i++) {
            this.value[i] = this.value[i].trim().replaceAll("^\"", "").replaceAll("\"$", text);
        }
        //System.out.println(Arrays.toString(value));
    }

    /**
     * Devuelve el valor de la propiedad.
     * @return una cadena con el valor.
     */
    public String getStringValue() {
        if (this.value.length > 1) {
            return null;
        }
        return this.value[0];
    }

    /**
     * Devuelve el valor de la propiedad
     * @return un arreglo de cadenas con los valores.
     */
    public String[] getListValue() {
        return this.value;
    }

    /**
     * Devuelve el valor de la porpiedad
     * @return un entero con el valor, si no es un numero devuelve
     * Integer.MIN_VALUE
     * @see java.lang.Integer#MIN_VALUE
     */
    public int getIntValue() {
        int retVal = Integer.MIN_VALUE;

        try {
            retVal = Integer.parseInt(this.value[0]);
        } catch (NumberFormatException ex) {
        }

        return retVal;
    }

    /**
     * Devuelve el valor de la porpiedad
     * @return un entero con el valor, si no es un numero devuelve
     * Long.MIN_VALUE
     * @see java.lang.Long#MIN_VALUE
     */
    public long getLongValue() {
        long retVal = Integer.MIN_VALUE;

        try {
            retVal = Long.parseLong(this.value[0]);
        } catch (NumberFormatException ex) {
        }

        return retVal;
    }

    /**
     * Devuelve el valor de la propiedad
     * @return un real con el valor, si no es un numero devuelve
     * Double.MIN_VALUE
     * @see java.lang.Double#MIN_VALUE
     */
    public double getDoubleValue() {
        double retVal = Double.MIN_VALUE;

        try {
            retVal = Double.parseDouble(this.value[0]);
        } catch (NumberFormatException ex) {
        }

        return retVal;
    }
}
